package cn.pattern.StatePattern;


/**
 * 银行系统中账号状态的管理
 * OA系统中公文状态的管理
 * 酒店系统中，房间状态的管理
 * 线程对象各状态之间的切换
 *
 *
 * 用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题
 */
public class StatePatternDemo {

    public static void main(String[] args) {
        // 获取房间对象
        HomeContext ctx = new HomeContext();
        // 设置房间状态
        ctx.setState(new FreeState());
        ctx.setState(new BookedState());
    }
}
